/*
 * ResultadoTest.cpp
 *
 *  Created on: 20/05/2013
 *      Author: jonathan
 */

#include "ResultadoTest.h"
#include <iostream>
using namespace std;

ResultadoTest::ResultadoTest(string test) {
	this->test= test;
	this->fallo = "";
	this->resultado = true;

}


void ResultadoTest::assertTrue(bool evaluacion, string mensaje){
	this->resultado = this->resultado && evaluacion;
	if(!evaluacion){
		fallo = fallo + "----------Fallo en::" + this->test + "::" + mensaje;
	}
}


void ResultadoTest::assertEquals(EnteroLargo esperado, EnteroLargo obtenido){
	this->resultado = this->resultado && (esperado == obtenido);
	if(!(esperado == obtenido)){
		fallo = fallo + "----------Fallo en::" + this->test + "::" + "Se esperaba un nro y se obtuvo otro";
	}
}

void ResultadoTest::assertEquals(string esperado, string obtenido){
	this->resultado = this->resultado && (esperado == obtenido);
	if(!(esperado == obtenido)){
		fallo = fallo + "----------Fallo en::" + this->test + "::" + "Se esperaba " + esperado + " y se obtuvo " + obtenido;
	}
}


bool ResultadoTest::getResultado(){
	if(this->resultado){
		cout << endl <<"Test OK::"+ this->test<<endl;
	} else {
		cout<< endl <<"::::::::::::::::::::::::::::::::::Test Error:::::::::::::::::::::::::::::::"+ this->test <<endl << fallo;
	}
	return this->resultado;
}
